How To Code Finite State Machine